package com.caio.svn;

import java.util.List;

import javax.inject.Inject;
import javax.persistence.EntityManager;
import javax.persistence.criteria.CriteriaQuery;

import com.caioweb.osa.dao.DAO;
import com.caioweb.osa.dao.JPAUtil;
import com.caioweb.osa.modelo.Parametro;
import com.uaihebert.factory.EasyCriteriaFactory;
import com.uaihebert.model.EasyCriteria;

public final class Configuracoes {
	@Inject
    private DAO<Parametro> dao;
	
	// DIRETORIOS
	public static String DIR_HOME = "P1";
	public static String DIR_DEPLOY_TEMP;
	public static String DIR_DEPLOY;
	public static String DIR_DOCUMENTOS;
	
	
	
	// SHELLS
	public static String SH_HOME = "P2";
	public static String SH_HEAD;
	public static String SH_DIFF;
	public static String SH_EXPORT;
	public static String SH_MOVE;
	public static String SH_SEPARA;
	public static String SH_CRIA_ARQUIVO;
	
	
	//NOMECLATURAS
	public static String NM_DIR_ESTRUTURA = "estrutura/";
	public static String NM_DIR_DADOS = "dados/";
	
	public static String NM_ESTRUTURA = "P3";
	public static String NM_DADOS = "P4";
	
	
	public static String TXT_ESTRUTURA = "estrutura.txt";
	public static String TXT_DADOS = "dados.txt";
	
	
	public void carregaConfiguracoes() {
		EntityManager em = new JPAUtil().getEntityManager();
		em.getTransaction().begin();
		EasyCriteria<Parametro> criteria = EasyCriteriaFactory.createQueryCriteria(em, Parametro.class);
		
		List<Parametro> lista = criteria.getResultList();
		for(Parametro parametro:lista){
			if(parametro.getChave().equals(DIR_HOME)){
				DIR_HOME = parametro.getValor();                                  
				DIR_DEPLOY_TEMP = DIR_HOME + "log/registro/";      
				DIR_DEPLOY =  DIR_HOME +"log/registro/";           
				DIR_DOCUMENTOS = DIR_HOME + "documentos/";         
    
			}else if(parametro.getChave().equals(SH_HOME)){
				SH_HOME = parametro.getValor();
				SH_HEAD = SH_HOME +"./ultimaRevisao.sh";     
				SH_DIFF = SH_HOME +"./scriptsModificados.sh";
				SH_EXPORT = SH_HOME +"./export.sh";          
				SH_MOVE = SH_HOME +"./move.sh";              
				SH_SEPARA = SH_HOME +"./separa.sh";          
				SH_CRIA_ARQUIVO = SH_HOME +"./cria.sh";  
			}else if(parametro.getChave().equals(NM_ESTRUTURA)){
				NM_ESTRUTURA = parametro.getValor();
			}else if(parametro.getChave().equals(NM_DADOS)){
				NM_DADOS = parametro.getValor();
			}
			
		}
	} 

}
